package com.jiankangjin.appspos.services;

import com.jiankangjin.appspos.vo.AllowRefundVo;
import com.jiankangjin.appspos.vo.CreateOrderVo;
import com.jiankangjin.appspos.vo.CreateRefundVo;
import com.jiankangjin.appspos.vo.GetOrderResultVo;
import com.jiankangjin.appspos.vo.GetPayStatusVo;
import com.jiankangjin.appspos.vo.PayOrderVo;
import com.jiankangjin.appspos.vo.SearchOrderVo;
import com.jiankangjin.appspos.vo.UpdOrderInfoVo;

public interface OrderServieces {
	/**
	 * 创建订单
	 */
	public CreateOrderVo createOrder(String merchId, String merchName,
			String merchantOrderId, int totalFee, String currency,
			String content, String detail, boolean isTip, String buyerName,
			String buyerCellphone, String comment, String busi_type,
			String operatorId, String operatorName, String orderTotalFee,
			String discountFee, String discountComment, String localPaySsn,
			int fee, String channelId, String buyerToken, String buyerVoucher,
			String channelType);

	/**
	 * 支付订单
	 */

	public PayOrderVo payOrder(String token, String localPaySsn,
			String orderId, int fee, String currency, String channelId,
			String buyerToken, String buyerVoucher, String channelType);

	/**
	 * 支付状态确认
	 */
	public GetPayStatusVo getPayStatus(String token, String subDealSsn,
			String orderId);

	/**
	 * 查询交易
	 */
	public SearchOrderVo searchOrder(String token, String orderDateBegin,
			String orderDateEnd, String refundDateBegin, String refundDateEnd,
			String searchWord, String orderId, String orderStat, String isTip);

	/**
	 * 查看查询交易结果
	 */
	public GetOrderResultVo getOrderResult(String token, String resultId,
			int page, int quantity);

	/**
	 * 查看查询交易结果
	 */
	public GetOrderResultVo getOrderRefundResult(String token, String resultId,
			int page, int quantity);

	/**
	 * 订单明细补全
	 */
	public UpdOrderInfoVo updOrderInfo(String token, String orderId,
			String detail, String content, String comment);

	/**
	 * 申请退款
	 */
	public CreateRefundVo createRefund(String token, String orderId,
			int refundFee, String comment, String operator_id,
			String operator_name);

	/**
	 * 退款复核
	 */
	public AllowRefundVo allowRefund(String token, String orderId,
			int refundFee, String comment, String operator_id,
			String operator_name);

}
